1 -- Table defining tag names for IDs. Also stores hit counts to avoid expensive queries on change_tag
2 CREATE SEQUENCE change_tag_def_ctd_id_seq
;
3 CREATE TABLE &mw_prefix.
change_tag_def (
4 -- Numerical ID of the tag (ct_tag_id refers to this)
5 ctd_id
NUMBER NOT NULL,
6 -- Symbolic name of the tag (what would previously be put in ct_tag)
7 ctd_name
VARCHAR2(255) NOT NULL,
8 -- Whether this tag was defined manually by a privileged user using Special:Tags
9 ctd_user_defined
CHAR(1) DEFAULT '0' NOT NULL,
10 -- Number of times this tag was used
11 ctd_count
NUMBER NOT NULL DEFAULT 0
14 ALTER TABLE &mw_prefix.change_tag_def
ADD CONSTRAINT &mw_prefix.change_tag_def_pk
PRIMARY KEY (ctd_id
);
15 CREATE UNIQUE INDEX &mw_prefix.ctd_name
ON &mw_prefix.
change_tag_def (ctd_name
);
16 CREATE INDEX &mw_prefix.ctd_count
ON &mw_prefix.
change_tag_def (ctd_count
);
17 CREATE INDEX &mw_prefix.ctd_user_defined
ON &mw_prefix.
change_tag_def (ctd_user_defined
);
20 CREATE TRIGGER &mw_prefix.change_tag_def_seq_trg
BEFORE INSERT ON &mw_prefix.change_tag_def
21 FOR EACH ROW WHEN (new.ctd_id
IS NULL)
23 &mw_prefix.lastval_pkg.
setLastval(change_tag_def_ctd_id_seq.nextval
, :new.ctd_id
);